package com.bs.config;

import com.bs.config.interceptors.LoginInterceptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class WebConfigurer implements WebMvcConfigurer {

    @Autowired
    private LoginInterceptor loginInterceptor;

    @Value("${uploadPath}")
    private String uploadPath;
    //这个方法用来配置静态资源，如html,css,js等等
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
//        registry.addResourceHandler("/video/**").addResourceLocations("file:/usr/video/");
//        registry.addResourceHandler("/image/**").addResourceLocations("file:/usr/pic/");
        registry.addResourceHandler("/video/**").addResourceLocations("file:"+uploadPath);
//        registry.addResourceHandler("/video/**").addResourceLocations("D:\\upload\\video");

    }

    //这个方法用来注册拦截器的，我们编写的拦截器需要在这里添加注册才能生效
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        // addPathPatterns("/**") 表示拦截所有的请求，
        // excludePathPatterns("/login", "/register") 表示除了登陆与注册之外，因为登陆注册不需要登陆也可以访问
        registry.addInterceptor(loginInterceptor).addPathPatterns("/**").
                excludePathPatterns("/","/toLogin","/login","/getAllNews","/toRegister","/register","/getNewsById","/admin","/adminLogin","/static/**");
    }
}
